package com.geowiki.model;

// Generated 8/03/2009 10:30:57 AM by Hibernate Tools 3.2.2.GA

import java.util.Date;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import static javax.persistence.GenerationType.IDENTITY;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

/**
 * Inmueble generated by hbm2java
 */
@Entity
@Table(name = "inmueble", catalog = "geowiki")
public class Inmueble implements java.io.Serializable {

	private Long idInmueble;
	private Municipio municipio;
	private GrupoEtnicoLinguistico grupoEtnicoLinguistico;
	private TipoInmueble tipoInmueble;
	private String nombre;
	private String toponimia;
	private Date fechaFundacion;
	private String descripcion;
	private String idEstado;

	public Inmueble() {
	}

	public Inmueble(Municipio municipio,
			GrupoEtnicoLinguistico grupoEtnicoLinguistico,
			TipoInmueble tipoInmueble, String nombre, String idEstado) {
		this.municipio = municipio;
		this.grupoEtnicoLinguistico = grupoEtnicoLinguistico;
		this.tipoInmueble = tipoInmueble;
		this.nombre = nombre;
		this.idEstado = idEstado;
	}

	public Inmueble(Municipio municipio,
			GrupoEtnicoLinguistico grupoEtnicoLinguistico,
			TipoInmueble tipoInmueble, String nombre, String toponimia,
			Date fechaFundacion, String descripcion, String idEstado) {
		this.municipio = municipio;
		this.grupoEtnicoLinguistico = grupoEtnicoLinguistico;
		this.tipoInmueble = tipoInmueble;
		this.nombre = nombre;
		this.toponimia = toponimia;
		this.fechaFundacion = fechaFundacion;
		this.descripcion = descripcion;
		this.idEstado = idEstado;
	}

	@Id
	@GeneratedValue(strategy = IDENTITY)
	@Column(name = "ID_INMUEBLE", unique = true, nullable = false)
	public Long getIdInmueble() {
		return this.idInmueble;
	}

	public void setIdInmueble(Long idInmueble) {
		this.idInmueble = idInmueble;
	}

	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "ID_MUNICIPIO", nullable = false)
	public Municipio getMunicipio() {
		return this.municipio;
	}

	public void setMunicipio(Municipio municipio) {
		this.municipio = municipio;
	}

	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "ID_GRUPO_ETNICO_LINGUISTICO", nullable = false)
	public GrupoEtnicoLinguistico getGrupoEtnicoLinguistico() {
		return this.grupoEtnicoLinguistico;
	}

	public void setGrupoEtnicoLinguistico(
			GrupoEtnicoLinguistico grupoEtnicoLinguistico) {
		this.grupoEtnicoLinguistico = grupoEtnicoLinguistico;
	}

	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "ID_TIPO_INMUEBLE", nullable = false)
	public TipoInmueble getTipoInmueble() {
		return this.tipoInmueble;
	}

	public void setTipoInmueble(TipoInmueble tipoInmueble) {
		this.tipoInmueble = tipoInmueble;
	}

	@Column(name = "NOMBRE", nullable = false, length = 50)
	public String getNombre() {
		return this.nombre;
	}

	public void setNombre(String nombre) {
		this.nombre = nombre;
	}

	@Column(name = "TOPONIMIA", length = 50)
	public String getToponimia() {
		return this.toponimia;
	}

	public void setToponimia(String toponimia) {
		this.toponimia = toponimia;
	}

	@Temporal(TemporalType.TIMESTAMP)
	@Column(name = "FECHA_FUNDACION", length = 19)
	public Date getFechaFundacion() {
		return this.fechaFundacion;
	}

	public void setFechaFundacion(Date fechaFundacion) {
		this.fechaFundacion = fechaFundacion;
	}

	@Column(name = "DESCRIPCION", length = 300)
	public String getDescripcion() {
		return this.descripcion;
	}

	public void setDescripcion(String descripcion) {
		this.descripcion = descripcion;
	}

	@Column(name = "ID_ESTADO", nullable = false, length = 2)
	public String getIdEstado() {
		return this.idEstado;
	}

	public void setIdEstado(String idEstado) {
		this.idEstado = idEstado;
	}

}
